Method and system for optimization of channel estimation and synchronization in an OFDM-MIMO wireless communication system

ABSTRACT

The present invention is related to a method and system for optimization of channel estimation and synchronization in an Orthogonal Frequency Division Multiplexing (OFDM) Multiple-Input Multiple-Output (MIMO) wireless communication system. In accordance with the present invention, all of the training sequences are simply constructed based on a basic code by cyclically shifting the basic code. The training sequences are transmitted from different antennas in parallel without performing inverse fast Fourier transform. As a result, there is no peak-to-average ratio problem. Channel estimation is performed in each receiver based on the samples before fast Fourier transform and the maximum-likelihood estimate of channel response in time domain is then mapped into the frequency domain. The channel estimation is not only very simple in implementation, but also very efficient in computation.

CROSS REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. provisional application No. 60/608,646 filed Sep. 10, 2004, which is incorporated by reference as if fully set forth.

FIELD OF INVENTION

The present invention relates to wireless communications. More particularly, the present invention relates to a method and system for optimization of channel estimation and synchronization in an Orthogonal Frequency Division Multiplexing (OFDM) Multiple-Input Multiple-Output (MIMO) wireless communication system.

BACKGROUND

OFDM is a data transmission scheme where the data is split into smaller streams and each stream is transmitted using a sub-carrier with a smaller bandwidth than the total available transmission bandwidth. The efficiency of OFDM is a result of the fact that the sub-carriers are selected so that they are orthogonal to each other. In other words, the sub-carriers do not interfere with each other while each is carrying a portion of the total user data.

There are practical reasons why OFDM may be preferred over other transmission schemes such as Code Division Multiple Access (CDMA). When the user data is split into streams carried by different sub-carriers, the effective data rate on each sub-carrier is less than the total data rate. Therefore, the symbol duration is much larger. Large symbol duration can tolerate larger delay spreads. In other words, data that is transmitted with a large symbol duration is not affected by multipath as severely as symbols with a shorter duration. OFDM symbols can tolerate delay spreads that are typical in wireless communications and do not require complicated receiver designs to recover from multipath delay.

MIMO is a wireless transmission and reception scheme where both the transmitter and receiver employ more than one antenna for transmission and reception. A MIMO system takes advantage of the spatial diversity or spatial multiplexing options created by the presence of multiple antennas and improves signal-to-noise ratio (SNR) and increases throughput.

In OFDM-MIMO systems, training sequence design as well as efficient channel estimation algorithm remains a challenge if different training sequence signals are transmitted from different antennas simultaneously. Several approaches based on training tones have been attempted in prior art systems. As a result, the channel estimation has to be done in the frequency domain, resulting in increased complexity and degraded performance. Other known solutions of a time orthogonal pre-amble scheme can be implemented, but this is at the expense of increased overhead.

SUMMARY

The present invention is related to a method and system for optimization of channel estimation and synchronization in an OFDM-MIMO wireless communication system. The present invention provides a method for generating training sequences, performing channel estimation and performing synchronizations of timing and frequency. All of the training sequences are simply constructed based on a basic code, and the training sequences are transmitted from different antennas in parallel without doing inverse fast Fourier transform (IFFT). As a result, there is no peak-to-average ratio problem for the training sequences. The channel estimation is performed in each receiver based on the samples before fast Fourier transform (FFT) and the maximum-likelihood estimate of channel response in time domain is then mapped into the frequency domain. Because of the maximum-likelihood estimation, the channel estimation is optimum, very simple in implementation and efficient in computation. With a loose constraint on the basic code, the synchronization is also optimum with respect to maximized SNR.

BRIEF DESCRIPTION OF THE DRAWINGS

A more detailed understanding of the invention may be had from the following description of a preferred embodiment, given by way of example and to be understood in conjunction with the accompanying drawing wherein:

FIG. 1 is a block diagram of an OFDM-MIMO system in accordance with the present invention.

FIG. 2 is a block diagram of a channel estimator in accordance with the present invention.

FIG. 3 is a flow diagram of a process for channel estimation and synchronization in accordance with the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention will be described with reference to the drawing figures wherein like numerals represent like elements throughout.

The features of the present invention may be incorporated into an integrated circuit (IC) or be configured in a circuit comprising a multitude of interconnecting components.

The present invention is for use in an OFDM-MIMO system with N_(T)-transmit antennas and N_(R)-receive antennas. Referring to FIG. 1, a block diagram of an OFDM-MIMO system 100 comprising a transmitter 110 and a receiver 120 is shown. The transmitter 110 comprises a plurality of training sequence (TS) generators 112, a plurality of IFFT units 114, a plurality of parallel-to-serial (P/S) converters 116, a plurality of concatenators 118 and a plurality of transmit antennas 119. The receiver 120 comprises a plurality of receive antennas 122, a plurality of frequency offset estimators 124, a plurality of segment splitters 126, a plurality of channel estimators 128, a plurality of FFT units 130, a plurality of space-time processing units 132 and a space diversity processing unit 134.

For each of the N_(T) transmit antennas 0 to N_(T)−1 119, the IFFT unit 114 converts input data into time domain signals and the P/S converters 116 insert a cyclic prefix into the data streams. The TS generator 112 directly generates a time-domain TS without performing IFFT. The concatenator 118 attaches the time-domain TS to the OFDM symbols. The OFDM symbols with the attached TS are sent to the transmit antenna 119 for transmission. Different TS signals are transmitted from different antennas in parallel. Since the TS is generated without performing IFFT, it consists of elements of 1 and −1. As a result, there is no peak-to-average ratio problem for the TS portion of the transmitted signal.

For each of the N_(R) receive antennas 0 to N_(R)−1 122, the transmitted signals are received by the receive antennas 122. The synchronization and frequency offset estimator 124 may be utilized for estimation of carrier frequency offset and system timing, which will be explained in detail hereinafter. The TS portion and the OFDM symbol portion are separated by the segment splitter 126. The TS portion is sent to the channel estimator 128 directly without performing FFT. The OFDM symbol portion is sent to the FFT unit 130. The channel estimator 128 generates a channel estimation, which is forwarded to the space-time processing unit 132. The space-time processing unit 132 processes the OFDM symbols based on the channel estimation from the channel estimator 128. The space diversity processing unit 134 processes the outputs from the space-time processing unit 132.

One embodiment of generation of the TS in accordance with the present invention is explained hereinafter. A basic code of length N is determined, which is expressed as follows: M ₀ ={m ₀ , m ₁ , m ₂ , . . . , m _(N−2) , m _(N−1)}.  Equation (1) It is assumed that M₀ is an arbitrary sequence (waveform) of length N at the beginning. The conditions that optimize the selection of the basic code are explained hereinafter.

M_(j) is then defined as a cyclic j-shift version of M₀. For example, M₁ is defined as follows: M ₁ ={m _(N−1) , m ₀ , m ₁ , . . . , m _(N−3) , m _(N−2)}.  Equation (2) N_(T) represents the number of transmit antennas. W is defined as follows: $\begin{matrix} {{W = \left\lfloor \frac{N}{N_{T}} \right\rfloor};} & {{Equation}\quad(3)} \end{matrix}$ where └x┘ is the largest integer smaller or equal to x. The system parameters N and N_(T) are chosen properly so that the condition L<W is satisfied, where L represents the maximum delay spread. Therefore, it can be assumed that L=W−1.

From the basic code M₀, another N_(T)−1 codes, (M_(W), . . . , M_((N) _(T) _(−1)W)), can be obtained. The code M_(kW) is represented as follows: M _(kW) ={m _(N−kW) , m _(N−kW+1) , . . . , m _(N−2) , m _(N−1) , m ₀ , m ₁ , . . . , m _(N−kW−2) , m _(N−kW−1)};  Equation (4) where kε[0, 1, 2, . . . , N_(T)−1].

A cyclic prefix code P_(kW) is defined for the code M_(kW) as follows: P _(kW) ={m _(N−kW−W) , m _(N−k−(W−1)) , m _(N−kW−2) , m _(N−kW−1)}.  Equation (5) P_(kW) is a repeat of the last W elements of the code M_(kW). Concatenating the codes P_(kW) and M_(kW) for each value of k, N_(T) training sequences of length N+W are obtained. They are expressed as follows: T_(kW)(0)={P_(kW),M_(kW)}.  Equation (6)

According to Equations (4) and (5), T_(kW)(0) of Equation (6) can be expressed as follows: $\begin{matrix} {{T_{k\quad W}(0)} = {\begin{Bmatrix} \begin{matrix} \overset{\overset{P_{kW}}{︷}}{m_{N - {k\quad W} - W},m_{N - {k\quad W} - {({W - 1})}},\ldots\quad,m_{N - {k\quad W} - 2},m_{N - {k\quad W} - 1},} \end{matrix} \\ \underset{M_{k\quad W}}{\underset{︸}{m_{N - {k\quad W}},m_{N - {k\quad W} + 1},\ldots\quad,m_{N - 2},m_{N - 1},m_{0},m_{1},\ldots\quad,m_{N - {k\quad W} - 2},m_{N - {k\quad W} - 1}}} \end{Bmatrix}.}} & {{Equation}\quad(7)} \end{matrix}$

Suppose T_(kW)(0) is used by the kth transmit antenna without loss of generality. In MIMO systems, all of the training sequences are transmitted from different antennas in parallel.

At the receiver, a window of length N is used to take a desired portion of the received signal for channel estimation. To understand which portion of the received signal should be used, a linear l-element delayed version of T_(kW)(0) is defined as follows: $\begin{matrix} {{T_{k\quad W}(l)} = {\begin{Bmatrix} {{\overset{\begin{matrix} {l\quad{elements}\quad{of}} \\ {{any}\quad{values}} \end{matrix}}{\overset{︷}{x,x,\ldots,x,}}m_{N - {k\quad W} - W}},m_{N - {k\quad W} - {({W - 1})}},\ldots\quad,m_{N - {k\quad W} - 2 - l},m_{N - {k\quad W} - 1 - l},} \\ {m_{N - {k\quad W} - l},m_{N - {k\quad W} - {({l + 1})}},\ldots\quad,m_{N - 2},m_{N - 1},m_{0},m_{1},\ldots\quad,m_{N - {k\quad W} - 2 - l},m_{N - {k\quad W} - 1 - l}} \end{Bmatrix}.}} & {{Equation}\quad(8)} \end{matrix}$

T_(kw)(l) is obtained by linearly shifting right T_(kw)(0) by l elements, (i.e., dropping the last l elements and shifting-in the first l elements of any values). Typically, there is other data on both sides of each training sequence. The dropped last l elements are overlapped with the data following the training sequence. The shifted-in first l elements are the data before the training sequence. Because T_(kW)(0) is of length W+N, it is impossible that the last N-element portion of T_(kW)(l) includes any undesired data provided that 0≦1<W. Therefore, the present invention only uses the last N elements of T_(kW)(l), denoted by {circumflex over (T)}_(kW)(l), in channel estimation. According to Equation (8), {circumflex over (T)}_(kW)(l) is obtained as follows: {circumflex over (T)}_(kW)(l)={m _(N−kW−l) , m _(N−kW−l+1) , . . . , m _(N−2) , m _(N−1) , m ₀ , m ₁ , . . . , m _(N−kW−2−l) , m _(N−kW−1−l)}.  Equation (9)

Further the following Equation (10) is established: {circumflex over (T)} _(kW)(l)=M _(kW+1).  Equation (10)

Channel estimation in accordance with the present invention is set forth hereinafter. Referring to FIG. 2, a block diagram of a channel estimator 128 in accordance with the present invention is shown. The channel estimator 128 comprises an FFT unit 202, a table 204, a multiplier 206, an IFFT unit 208, a post processing unit 210 and a channel response mapping unit 212. The N-point FFT unit 202 receives input samples 201 and performs N-point FFT on the input samples 201. The table 204 stores pre-calculated reciprocal of N-point FFT of the basic code.

The pre-calculation is represented by a dotted block 214. The dotted block 214 need not be an actual component of the channel estimator 128, but is shown in FIG. 2 for illustrating the pre-calculation and storing of the inverse of an N-point FFT of the basic code. The N-point FFT is performed on the basic code M₀ and the reciprocal of the N-point FFT of the basic code M₀ is calculated. The reciprocal is then stored in the table 204.

The output of the table 204, (i.e., the stored inverse of the N-point FFT of the basic code M₀), is multiplied with the output 203 of the FFT unit 202 by the element-wise multiplier 206. The multiplication results 207 enter the IFFT unit 208 which performs time domain channel estimation 209. The post processing unit 210 performs a threshold test on the time domain channel estimation 209 and removes elements below the predetermined threshold. The channel response mapping unit 212 maps the processed time domain channel estimation 211 to frequency domain channel estimation 213.

The mathematical description of the generation of channel estimation is described hereinafter. The channel response between the kth transmit antenna and a receive antenna is defined as follows: h _(k) ={h _(k,0) , h _(k,1) , . . . h _(k,W−1)}^(T).  Equation (11)

Assuming a N×1 vector {overscore (r)} represents the desired portion of the received signal for channel estimation, it can be expressed as follows: {overscore (r)}={circumflex over (T)}·H+{overscore (n)};  Equation (12) where {circumflex over (T)} is a N×N_(T)W matrix of the form: $\begin{matrix} \begin{matrix} {\hat{T} = \left\lbrack {\left\{ {{\hat{T}}_{0}(0)} \right\}^{T},\left\{ {{\hat{T}}_{0}(1)} \right\}^{T},\ldots\quad,\left\{ {{\hat{T}}_{0}\left( {W - 1} \right)} \right\}^{T},} \right.} \\ {\left\{ {{\hat{T}}_{1}(0)} \right\}^{T},\left\{ {{\hat{T}}_{1}(1)} \right\}^{T},\ldots\quad,\left\{ {{\hat{T}}_{1}\left( {W - 1} \right)} \right\}^{T},\ldots\quad,} \\ {\left\{ {{\hat{T}}_{N_{T} - 1}(0)} \right\}^{T},\left\{ {{\hat{T}}_{N_{T} - 1}(1)} \right\}^{T},\ldots\quad,} \\ \left. \left\{ {{\hat{T}}_{N_{T} - 1}\left( {W - 1} \right)} \right\}^{T} \right\rbrack \\ {= \left\lbrack {M_{0}^{T},M_{1}^{T},\ldots\quad,M_{W - 1}^{T},M_{W}^{T},M_{W + 1}^{T},\ldots\quad,} \right.} \\ {M_{W + {({W - 1})}}^{T},\ldots\quad,M_{{({N_{T} - 1})}\quad W}^{T},M_{{{({N_{T} - 1})}\quad W} + 1}^{T},\ldots\quad,} \\ {\left. M_{{{({N_{T} - 1})}\quad W} + {({W - 1})}}^{T} \right\rbrack;} \end{matrix} & {{Equation}\quad(13)} \end{matrix}$ where H is a N_(T)W×1 vector of the form: H=[h ₀ , h ₁ , . . . , h _(N) _(T) ⁻¹];  Equation (14) and {overscore (n)} is a N×1 noise vector of the form: i {overscore (n)}=[n₀ , n ₁ , . . . , n _(N−1)]^(T).  Equation (15)

The matrix {circumflex over (T)} is circular but not square. In order to use a more efficient algorithm in channel estimation, the matrix {circumflex over (T)} is extended to a N×N circulant one. For this purpose, the vector H is extended to a N×1 vector {overscore (H)} by padding an all-zero vector as follows: $\begin{matrix} {Z = \overset{{({N - {N_{T}W}})}\quad{zeros}}{\left\{ \overset{︷}{0,0,\ldots\quad,0} \right\}^{T};}} & {{Equation}\quad(16)} \end{matrix}$ where Z is an all-zero vector of length (N−N_(T)W). The vector {overscore (H)} is constructed as follows: {overscore (H)}=[h ₀ , h ₁ , . . . , h _(N) _(T) ⁻¹ , Z] ^(T).  Equation (17)

The extended version {overscore (T)} of the matrix {circumflex over (T)} is represented as follows: T=[M ₀ ^(T) , M ₁ ^(T) , . . . , M _(N−1) ^(T)].  Equation (18)

With respect to Equations (17) and (18), Equation (12) is re-written as follows: {overscore (r)}={overscore (T)}·{overscore (H)}+{overscore (n)}.  Equation (19)

Because the matrix {overscore (T)} is not only circular but also square, it can be decomposed into: {overscore (T)}=D _(N) ⁻¹ ΓD _(N);  Equation (20) where D_(N) is the N-point discrete Fourier transform matrix and Γ=diag(D_(N)(M₀)) is a N×N diagonal matrix. Note that the matrix {overscore (T)} must be full rank, which should be guaranteed when determining the basic code M₀. The full-rank requirement on the matrix {overscore (T)} results in the first condition on the selection of the basic code. Then, the maximum-likelihood estimate of channel response can be expressed as follows: $\begin{matrix} \begin{matrix} {\overset{\sim}{H} = {D_{N}^{- 1}\Gamma^{- 1}D_{N}\overset{\_}{r}}} \\ {{= {\overset{\_}{H} + {\overset{\_}{n}}_{1}}};} \end{matrix} & {{Equation}\quad(21)} \end{matrix}$ where {overscore (n)}₁=D_(N) ⁻¹Γ⁻¹D_(N){overscore (n)}. Suppose σ₁ ² and σ² represent the variance of one element in {overscore (n)}₁ and {overscore (n)}, respectively. If D_(N)(M₀)={λ₀, λ₁, . . . , λ_(N−1)}, it can be shown that: $\begin{matrix} {{\sigma_{1}^{2} = {\frac{\sigma^{2}}{N}{\sum\limits_{i = 0}^{N - 1}\quad\frac{1}{{\lambda_{i}}^{2}}}}};} & {{Equation}\quad(22)} \end{matrix}$ which reveals a criteria to select the basic code M₀. That is, in any case, the basic code M₀ should be chosen such that: $\begin{matrix} {{I_{M} = {\sum\limits_{i = 0}^{N - 1}\quad\frac{1}{{\lambda_{i}}^{2}}}},} & {{Equation}\quad(23)} \end{matrix}$ is minimized. Therefore, Equation (23) is the second condition on the selection of the basic code. The basic codes with I_(M)<2 can readily be found.

Other criteria may be used in the selection of the basic code M₀ if the training sequences are also used for other purposes, such as synchronization, frequency offset estimation, etc. In these cases, it may be desirable to use a matched filter (MF). The training sequence and an MF may be designed jointly to minimize multiple access interference (MAI). This requirement puts further constraint on the selection of the basic code M₀, which will be explained in detail hereinafter.

Before using {tilde over (H)}, a threshold test on each element of {tilde over (H)} may be performed by the post processing unit 210. With post processing, the noise-only elements in {tilde over (H)} are set to zero. In a specific case that the threshold is set to zero, each of the consecutive length-W segments in the vector {tilde over (H)} is assumed to be a channel response vector.

The channel response {tilde over (H)} given by Equation (21) is in the time domain. Because OFDM systems need a channel response in the frequency domain, a mapping must be made by the channel response mapping unit 212 with respect to Equation (21). Suppose that: G_(P)={1, 1, . . . , 1};  Equation (24) is a 1×P all-one vector, where P is the FFT length identical to that used in generation of OFDM symbols. Performing an inverse DFT on the vector G_(P) results in Q₀=D_(P) ⁻¹(G_(P))={1, 0, 0, . . . , 0}. It should be noted that G_(P) can be of any known sequence of length P and letting G_(P) be all-one vector is just for the purpose of simplicity. Q_(l) is defined as a cyclic l-shift version of Q₀. For example, if: Q₀={1, 0, 0, . . . , 0};  Equation (24) then Q₁={0, 1, 0, . . . , 0},  Equation (25) and so on. Suppose that the kth channel response {tilde over (h)}_(k)={{tilde over (h)}_(k,0), {tilde over (h)}_(k,1), . . . , {tilde over (h)}_(k,W−1)}^(T) is mapped into the frequency domain. Note that, after post processing, some elements of {tilde over (h)}_(k) may be zero. Then, a vector of length P is constructed as follows: $\begin{matrix} {v_{k} = {\sum\limits_{l = 0}^{W - 1}\quad{{\overset{\sim}{h}}_{k,l} \cdot {Q_{l}.}}}} & {{Equation}\quad(26)} \end{matrix}$

Then, performing an FFT on the vector v_(k) results in: $\begin{matrix} \begin{matrix} {V_{k} = {D_{P}\left( v_{k} \right)}} \\ {{= {\sum\limits_{l = 0}^{W - 1}\quad{{\overset{\sim}{h}}_{k,l} \cdot {D_{P}\left( Q_{l} \right)}}}};} \end{matrix} & {{Equation}\quad(27)} \end{matrix}$ which is the kth channel response in the frequency domain. Assuming V_(k)={V_(k,0), V_(k,1), V_(k,P−1)}, the pth element V_(k,p) of V_(k) represents the channel response for the pth sub-carrier between the kth transmit antenna and a receive antenna. To implement Equation (27), the vectors D_(P)(Q_(l)) are pre-calculated and stored in a memory, such as in the look-up table 204. Suppose V_(k,p)=H_(k,p)+N_(k,p), where H_(k,p) and N_(k,p) are the desired sub-channel coefficient and noise term, respectively. It can be shown that: $\begin{matrix} {{H_{k,p} = {\sum\limits_{l = 0}^{W - 1}{h_{k,l}W_{P}^{pl}}}};} & {{Equation}\quad(28)} \end{matrix}$ and the variance of N_(k,p) is σ₂ ² =N _(path)σ₁ ²,  Equation (29) where W_(P)=e^(−j2π/P) and N_(path) is the number of non-zero elements in {tilde over (h)}_(k).

The training sequences may also be used for the purposes of time and/or frequency synchronizations. Recall that each column vector in the matrix {circumflex over (T)} given by Equation (13) is just a cyclic-shift version of M₀ ^(T). Assuming that the impulse response of the matched filter (MF) is a 1×N vector A_(k,l), an indicator with respect to the multiple access interference (MAI) level is given by Ω=A_(k,l)·{circumflex over (T)}. Ω is a 1×N_(T)W vector. An optimal MF, (MAI-free), implies that all the elements in the vector Ω are zero except the (kW+l)th element. For example, assuming M₀ be a real binary code and A_(k,l)=M_(kW+l), it is very difficult to make the MF be MAI-free no matter how the basic code M₀ is designed (searched).

By using the properties of the M-sequence, the present invention provides an MAI-free MF at the cost of increasing the white noise power by a factor of two.

One embodiment of the present invention includes a simple MF with optimal performance by choosing M₀ as well as designing A_(k,l) properly.

Suppose the basic code is an M-sequence. In this case, the length of the basic code N is limited to the values of 2^(u)−1, where u is an integer. The basic code (M-sequence) M₀ should be chosen to minimize Equation (23).

Suppose that G_(N)={1, 1, . . . , 1} is an 1×N all-one vector. The impulse response of the optimal MF is constructed as follows: A _(k,l) =M _(kW+l) +G _(N).  Equation (30)

Equation (30) is optimal for the following properties of the M-sequence: (i) M_(i)·M_(j) ^(T)=N if i=j, (ii) M_(i)·M_(j) ^(T)=−1 if i≠j, (iii) G_(N)·M_(j) ^(T)=1, where i,j⊖[0, 1, . . . , N−1]. If such a MF is used to match the desired signal, its output is represented as follows: $\begin{matrix} \begin{matrix} {y_{k,l} = {\frac{1}{N + 1}{A_{k,l} \cdot \overset{\_}{r}}}} \\ {= {h_{k,l} + {\frac{1}{N + 1}{A_{k,l} \cdot {\overset{\_}{n}.}}}}} \end{matrix} & {{Equation}\quad(31)} \end{matrix}$

Because about half of the elements in A_(k,l) are zero and the rest are non-zero elements taken value of 2, the noise variance in y_(k,l) is given by: $\begin{matrix} {\sigma_{y_{k,l}}^{2} = {\frac{2\sigma^{2}}{N + 1}.}} & {{Equation}\quad(32)} \end{matrix}$

If the training sequences are binary sequences (e.g., M-sequences), the complexity of the synchronizations is reduced. Additionally, a moving window is needed in the synchronizations. When the window goes through a segment with an undesired signal, the MF also has outputs with large peaks. Therefore, the largest peak of moving signal-to-noise ratio should be detected at the MF output rather than the largest peak of the MF output. Because the optimal MF has improved the signal to noise ratio (MAI-free) around the desired segment of the received signal flow, it is definitely an asset in synchronizations.

FIG. 3 is a flow diagram of a process 300 for performing channel estimation and synchronization in an OFDM-MIMO wireless communication system. Both a transmitter and a receiver comprise a plurality of antennas. The transmitter generates a plurality of training sequences from a basic code by cyclically shifting the basic code (step 302). The training sequences are concatenated with OFDM symbols, and the training sequence and the OFDM symbols are transmitted with a plurality of transmit antennas (step 304). Each transmit antenna transmits a different training sequence simultaneously. The receiver receives the training sequences and the OFDM symbols with a plurality of receive antennas (step 306). The training sequence and the OFDM symbols received by each of the receive antennas are then separated (step 308). The training sequences are processed to obtain a channel response estimate and the OFDM symbols are processed using the channel response estimate (step 310).

Although the features and elements of the present invention are described in the preferred embodiments in particular combinations, each feature or element can be used alone without the other features and elements of the preferred embodiments or in various combinations with or without other features and elements of the present invention. 

1. In an orthogonal frequency division multiplexing (OFDM) multiple-input multiple-output (MIMO) wireless communication system where both a transmitter and a receiver include a plurality of antennas, a method for optimizing channel estimation in the OFDM wireless communication system, the method comprising: at the transmitter: generating a plurality of training sequences from a basic code, M₀, by cyclically shifting the basic code; concatenating the training sequence with OFDM symbols; transmitting the training sequence and the OFDM symbols with a plurality of transmit antennas, each transmit antenna transmitting a different training sequence simultaneously; at the receiver: receiving the training sequence and the OFDM symbols with a plurality of receive antennas; separating the training sequence and the OFDM symbols received by each of the receive antennas; processing the training sequence to obtain a channel response estimate; and processing the OFDM symbols using the channel response estimate.
 2. The method of claim 1 wherein the length of the basic code and each shift W between two training sequences is chosen such that each shift W is greater than a maximum delay spread of a wireless communication channel.
 3. The method of claim 1 wherein the last W elements of each training sequence are repeated as a cyclic prefix.
 4. The method of claim 1 wherein the channel estimation is performed before fast Fourier transform (FFT) of the received signals.
 5. The method of claim 1 wherein a threshold test is performed on elements of the channel response estimate, whereby a noise only element is set to zero.
 6. The method of claim 1 further comprising a step of mapping the channel response estimate to a corresponding value in a frequency domain.
 7. The method of claim 1 wherein the training sequence is a binary sequence in a time domain.
 8. The method of claim 7 wherein the training sequence is selected so that the matrix {overscore (T)}=[M₀ ^(T), M₁ ^(T), . . . , M_(N−2) ^(T), M_(N−1) ^(T)] is invertible, wherein M_(i), i=0, . . . N−1, is a code sequence generated by cyclically shifting i times the basic code M₀.
 9. The method of claim 7 wherein the training sequence is selected to minimize ${I_{M} = {\sum\limits_{i = 0}^{N - 1}\frac{1}{{\lambda_{i}}^{2}}}},$ where N-point fast Fourier transform (FFT) of the basic code M₀ D_(N)(M₀)={λ₀, λ₁, . . . , λ_(N−1)}.
 10. The method of claim 1 wherein the basic code M₀ is an M-sequence and the received training sequence portion is used for synchronization at the receiver.
 11. The method of claim 10 wherein a matched filter is used in the receiver and an impulse response of the matched filter for the lth path of the kth channel response, A_(k,l), is given by A_(k,l)=M_(kW+l)+G_(N) wherein M_(kW+l) is a code generated by cyclically shifting the basic code M₀ by kW+l and G_(N) is all one vector of length N.
 12. The method of claim 10 wherein the threshold test in the synchronization is based on the variables of moving signal-to-noise ratio at the output of the matched filter.
 13. In an orthogonal frequency division multiplexing (OFDM) multiple-input multiple-output (MIMO) wireless communication system where both a transmitter and a receiver include a plurality of antennas, a system for optimizing channel estimation in the OFDM wireless communication system, the system comprising: a transmitter comprising: a training sequence generator for generating a plurality of training sequences for a plurality of transmit antennas, the training sequence being generated by cyclically shifting a basic code, M₀; a concatenator for concatenating the training sequence and OFDM symbols; and a plurality of transmit antennas for transmitting the training sequence and the OFDM symbols, each transmit antenna transmitting a different training sequence simultaneously; and a receiver comprising: a plurality of receive antennas for receiving the training sequence and the OFDM symbols; a segment splitter for separating the training sequence and the OFDM symbols received by each of the receive antennas; a channel estimator for processing the training sequence to obtain a channel response estimate; and a processor for processing the OFDM symbols using the channel response estimate.
 14. The system of claim 13 wherein the length of the basic code and each shift W between two training sequences is chosen such that each shift W is greater than a maximum delay spread of a wireless communication channel.
 15. The system of claim 14 wherein the last W elements of each training sequence are repeated as a cyclic prefix.
 16. The system of claim 13 wherein the channel estimation is performed without fast Fourier transform (FFT) of the received signals.
 17. The system of claim 13 further comprising a post processing unit for performing a threshold test on elements of the channel response estimate, whereby a noise only element is set to zero.
 18. The system of claim 13 further comprising a mapping unit for mapping the channel response estimate to a corresponding value in a frequency domain.
 19. The system of claim 13 wherein the training sequence is a binary sequence in a time domain.
 20. The system of claim 19 wherein the training sequence is selected so that the matrix {overscore (T)}=[M₀ ^(T), M₁ ^(T), . . . , M_(N−2) ^(T), M_(N−1) ^(T)] is invertible, wherein M_(i), i=0 . . . N−1, is a code sequence generated by cyclically shifting i times the basic code M₀.
 21. The system of claim 19 wherein the training sequence is selected to minimize ${I_{M} = {\sum\limits_{i = 0}^{N - 1}\frac{1}{{\lambda_{i}}^{2}}}},$ where N-point fast Fourier transform (FFT) of the basic code M₀D_(N)(M₀)={λ₀, λ₁, . . . , λ_(N−1)}.
 22. The system of claim 13 wherein the basic code M₀ is an M-sequence and the received training sequence portion is used for synchronization at the receiver.
 23. The system of claim 22 wherein a matched filter is used in the receiver and an impulse response of the matched filter for the lth path of the kth channel response, A_(k,l), is given by A_(k,l)=M_(kW+l)+G_(N), wherein M_(kW+l) is a code generated by cyclically shifting the basic code M₀ by kW+l and G_(N) is all one vector of length N.
 24. The system of claim 22 wherein the threshold test in the synchronization is based on the variables of moving signal-to-noise ratio at the output of a matched filter. 